import userData from '../data/userData.js';

class UserModel {
  // 获取所有菜单数据
  getAll() {
    // 在实际项目中，这里会从数据库获取数据
    return userData;
  }
  

  /**
   * 根据用户名和密码查找用户
   * @param {string} username - 用户名
   * @param {string} password - 密码
   * @param {Array} userData - 用户数据数组（可选，默认使用模块内的userData）
   * @returns {Object|null} 匹配的用户对象或null
   */
  getById(username, password, userData) {
    // 检查用户数据是否为有效数组
    if (!Array.isArray(userData)) {
      // 可以根据实际情况调整，这里假设存在一个模块内的userData变量
      if (!Array.isArray(this.userData)) {
        console.warn('用户数据格式不正确，应为数组');
        return null;
      }
      userData = this.userData;
    }

    // 检查用户名和密码是否为字符串类型
    if (typeof username !== 'string' || typeof password !== 'string') {
      console.warn('用户名和密码必须为字符串类型');
      return null;
    }

    // 同时匹配用户名和密码
    return userData.find(item => 
      item?.username === username && item?.password === password
    ) || null;
  }
}

export default new UserModel();